﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HrEFCore.Models
{
	public class HFSum
	{
		[Key]
		[DisplayName("编号")]
		[Required(ErrorMessage = "编号不能为空")]
		public short HufId { get; set; }//主键
		[DisplayName("档案编号")]
		[Required(ErrorMessage = "档案编号不能为空")]
		public string HumanId { get; set; }//档案编号
		[DisplayName("一级机构编号")]
		[Required(ErrorMessage = "一级机构编号不能为空")]
		public string FirstKindId { get; set; }//一级机构编号
		[DisplayName("一级机构名称")]
		[Required(ErrorMessage = "一级机构名称不能为空")]
		public string FirstKindName { get; set; }//一级机构名称
		[DisplayName("二级机构编号")]
		[Required(ErrorMessage = "二级机构编号不能为空")]
		public string SecondKindId { get; set; }//二级机构编号
		[DisplayName("二级机构名称")]
		[Required(ErrorMessage = "二级机构名称不能为空")]
		public string SecondKindName { get; set; }//二级机构名称
		[DisplayName("三级机构编号")]
		[Required(ErrorMessage = "三级机构编号不能为空")]
		public string ThirdKindId { get; set; }//三级机构编号
		[DisplayName("三级机构名称")]
		[Required(ErrorMessage = "三级机构名称不能为空")]
		public string ThirdKindName { get; set; }//三级机构名称
		[DisplayName("姓名")]
		[Required(ErrorMessage = "姓名不能为空")]
		public string HumanName { get; set; }//姓名
		[DisplayName("地址")]
		[Required(ErrorMessage = "地址不能为空")]
		public string HumanAddress { get; set; }//地址
		[DisplayName("邮政编码")]
		[Required(ErrorMessage = "邮政编码不能为空")]
		public string HumanPostcode { get; set; }//邮政编码
		[DisplayName("职称")]
		[Required(ErrorMessage = "职称不能为空")]
		public string HumanProDesignation { get; set; }//职称
		[DisplayName("职位分类编号")]
		[Required(ErrorMessage = "职位分类编号不能为空")]
		public string HumanMajorKindId { get; set; }//职位分类编号
		[DisplayName("职位分类名称")]
		[Required(ErrorMessage = "职位分类名称不能为空")]
		public string HumanMajorKindName { get; set; }//职位分类名称
		[DisplayName("职位编号")]
		[Required(ErrorMessage = "职位编号不能为空")]
		public string HumanMajorId { get; set; }//职位编号
		[DisplayName("职位名称")]
		[Required(ErrorMessage = "职位名称不能为空")]
		public string HunmaMajorName { get; set; }//职位名称
		[DisplayName("电话")]
		[Required(ErrorMessage = "电话不能为空")]
		public string HumanTelephone { get; set; }//电话
		[DisplayName("手机号码")]
		[Required(ErrorMessage = "手机号码不能为空")]
		public string HumanMobilephone { get; set; }//手机号码
		[DisplayName("开户银行")]
		[Required(ErrorMessage = "开户银行不能为空")]
		public string HumanBank { get; set; }//开户银行
		[DisplayName("银行帐号")]
		[Required(ErrorMessage = "银行帐号不能为空")]
		public string HumanAccount { get; set; }//银行帐号
		[DisplayName("QQ号码")]
		[Required(ErrorMessage = "QQ号码不能为空")]
		public string HumanQQ { get; set; }//QQ号码
		[DisplayName("电子邮件")]
		[Required(ErrorMessage = "电子邮件不能为空")]
		public string HumanEmail { get; set; }//电子邮件
		[DisplayName("爱好")]
		[Required(ErrorMessage = "爱好不能为空")]
		public string HumanHobby { get; set; }//爱好
		[DisplayName("特长")]
		[Required(ErrorMessage = "特长不能为空")]
		public string HumanSpeciality { get; set; }//特长
		[DisplayName("性别")]
		[Required(ErrorMessage = "性别不能为空")]
		public char HumanSex { get; set; }//性别
		[DisplayName("宗教信仰")]
		[Required(ErrorMessage = "宗教信仰不能为空")]
		public string HumanReligion { get; set; }//宗教信仰
		[DisplayName("政治面貌")]
		[Required(ErrorMessage = "政治面貌不能为空")]
		public string HumanParty { get; set; }//政治面貌
		[DisplayName("国籍")]
		[Required(ErrorMessage = "国籍不能为空")]
		public string HumanNationality { get; set; }//国籍
		[DisplayName("民族")]
		[Required(ErrorMessage = "民族不能为空")]
		public string HumanRace { get; set; }//民族
		[DisplayName("出生日期")]
		[Required(ErrorMessage = "出生日期不能为空")]
		public DateTime HumanBirthday { get; set; }//出生日期
		[DisplayName("出生地")]
		[Required(ErrorMessage = "出生地不能为空")]
		public string HumanBirthplace { get; set; }//出生地
		[DisplayName("年龄")]
		[Required(ErrorMessage = "年龄不能为空")]
		public short HumanAge { get; set; }//年龄
		[DisplayName("学历")]
		[Required(ErrorMessage = "学历不能为空")]
		public string HumanEducatedDegree { get; set; }//学历
		[DisplayName("教育年限")]
		[Required(ErrorMessage = "教育年限不能为空")]
		public short HumanEducatedYears { get; set; }//教育年限
		[DisplayName("学历专业")]
		[Required(ErrorMessage = "学历专业不能为空")]
		public string HumanEducatedMajor { get; set; }//学历专业
		[DisplayName("社会保障号")]
		[Required(ErrorMessage = "社会保障号不能为空")]
		public string HumanSocietySecurityId { get; set; }//社会保障号
		[DisplayName("身份证号")]
		[Required(ErrorMessage = "身份证号不能为空")]
		public string HumanIdCard { get; set; }//身份证号
		[DisplayName("备注")]
		[Required(ErrorMessage = "备注不能为空")]
		public string? Remark { get; set; }//备注
		[DisplayName("薪酬标准编号")]
		//[Required(ErrorMessage = "薪酬标准编号不能为空")]
		public string? SalaryStandardId { get; set; }//薪酬标准编号
		[DisplayName("薪酬标准名称")]
		//[Required(ErrorMessage = "薪酬标准名称不能为空")]
		public string? SalaryStandardName { get; set; }//薪酬标准名称
		[DisplayName("基本薪酬总额")]
		//[Required(ErrorMessage = "基本薪酬总额不能为空")]
		public decimal SalarySum { get; set; }//基本薪酬总额
		[DisplayName("应发薪酬总额")]
		//[Required(ErrorMessage = "应发薪酬总额不能为空")]
		public decimal? DemandSalaraySum { get; set; }//应发薪酬总额
		[DisplayName("实发薪酬总额")]
		//[Required(ErrorMessage = "实发薪酬总额不能为空")]
		public decimal? PaidSalarySum { get; set; }//实发薪酬总额
		[DisplayName("调动次数")]
		//[Required(ErrorMessage = "调动次数不能为空")]
		public short? MajorChangeAmount { get; set; }//调动次数
		[DisplayName("激励累计次数")]
		//[Required(ErrorMessage = "激励累计次数不能为空")]
		public short? BonusAmount { get; set; }//激励累计次数
		[DisplayName("培训累计次数")]
		//[Required(ErrorMessage = "培训累计次数不能为空")]
		public short? TrainingAmount { get; set; }//培训累计次数
		[DisplayName("档案变更累计次数")]
		//[Required(ErrorMessage = "档案变更累计次数不能为空")]
		public short? FileChangAmount { get; set; }//档案变更累计次数
		[DisplayName("个人履历")]
		//[Required(ErrorMessage = "个人履历不能为空")]
		public string? HumanHistroyRecords { get; set; }//履历
		[DisplayName("家庭关系")]
		//[Required(ErrorMessage = "家庭关系不能为空")]
		public string? HumanFamilyMembership { get; set; }//家庭关系
		[DisplayName("相片")]
		//[Required(ErrorMessage = "相片不能为空")]
		public string? HumanPicture { get; set; }//相片
		[DisplayName("附件名称")]
		//[Required(ErrorMessage = "附件名称不能为空")]
		public string? AttachmentName { get; set; }//附件名称
		[DisplayName("复核状态")]
		//[Required(ErrorMessage = "复核状态不能为空")]
		public short? CheckStatus { get; set; }//复核状态
		[DisplayName("档案登记人")]
		//[Required(ErrorMessage = "档案登记人不能为空")]
		public string? Register { get; set; }//档案登记人
		[DisplayName("档案复核人")]
		//[Required(ErrorMessage = "档案复核人不能为空")]
		public string? Checker { get; set; }//档案复核人
		[DisplayName("档案变更人")]
		//[Required(ErrorMessage = "档案变更人不能为空")]
		public string? Changer { get; set; }//档案变更人
		[DisplayName("档案登记时间")]
		//[Required(ErrorMessage = "档案登记时间不能为空")]
		public DateTime? RegistTime { get; set; }//档案登记时间
		[DisplayName("档案复核时间")]
		//[Required(ErrorMessage = "档案复核时间不能为空")]
		public DateTime? CheckTime { get; set; }//档案复核时间
		[DisplayName("档案变更时间")]
		//[Required(ErrorMessage = "档案变更时间不能为空")]
		public DateTime? ChangeTime { get; set; }//档案变更时间
		[DisplayName("档案变更时间")]
		//[Required(ErrorMessage = "档案变更时间不能为空")]
		public DateTime? LastlyChangeTime { get; set; }//档案变更时间
		[DisplayName("档案删除时间")]
		//[Required(ErrorMessage = "档案删除时间不能为空")]
		public DateTime? DeleteTime { get; set; }//档案删除时间
		[DisplayName("档案恢复时间")]
		//[Required(ErrorMessage = "档案恢复时间不能为空")]
		public DateTime? RecoveryTime { get; set; }//档案恢复时间
		[DisplayName("档案状态")]
		//[Required(ErrorMessage = "档案状态不能为空")]
		public bool? HumanFileStatus { get; set; }//档案状态
		[DisplayName("奖励金额")]
		[Required(ErrorMessage = "奖励金额不能为空")]
		public decimal BounsSum { get; set; }//奖励金额
		[DisplayName("销售绩效金额")]
		[Required(ErrorMessage = "销售绩效金额不能为空")]
		public decimal SaleSum { get; set; }//销售绩效金额
		[DisplayName("应扣金额")]
		[Required(ErrorMessage = "应扣金额不能为空")]
		public decimal DeductSum { get; set; }//应扣金额
		[DisplayName("实发薪酬总额")]
		[Required(ErrorMessage = "实发薪酬总额不能为空")]
		public decimal SalaryPaidSum { get; set; }//实发薪酬总额
	}
}